f02fjf

f02fjf © Numerical Algorithms Group, 2002.

Purpose

F02FJF Selected eigenvalues and eigenvectors of sparse symmetric eigenproblem (Black Box)

Synopsis

[m,x,d,noits,ifail] = f02fjf(m,dot,image,monit,novecs,x<,tol,noits,ifail>)

Description

 
 F02FJF finds the m eigenvalues of largest absolute value and the 
 corresponding eigenvectors for the real eigenvalue problem
 
                         Cx=(lambda)x                          (1)
 
 where C is an n by n matrix such that
 
                                T                            
                            BC=C B                             (2)
 
 for a given positive-definite matrix B. C is said to be B-
 symmetric. Different specifications of C allow for the solution 
 of a variety of eigenvalue problems. For example, when
 
                                            T
                     C=A and B=I where   A=A 
 
 the routine finds the m eigenvalues of largest absolute magnitude
 for the standard symmetric eigenvalue problem
 
                        Ax=(lambda)x.                          (3)
 
 The routine is intended for the case where A is sparse.
 
 As a second example, when
 
                                 -1
                              C=B  A
 
 where
 
                                  T
                               A=A 
 
 the routine finds the m eigenvalues of largest absolute magnitude
 for the generalized symmetric eigenvalue problem
 
                        Ax=(lambda)Bx.                         (4)
 
 The routine is intended for the case where A and B are sparse.
 
 The routine does not require C explicitly, but C is specified via
 a user-supplied routine IMAGE which, given an n element vector z,
 computes the image w given by
 
                               w=Cz.
 
                                              -1                
 For instance, in the above example, where C=B  A, routine IMAGE 
 will need to solve the positive-definite system of equations 
 Bw=Az for w.
 
 To find the m eigenvalues of smallest absolute magnitude of (3) 
                  -1                                      
 we can choose C=A   and hence find the reciprocals of the 
 required eigenvalues, so that IMAGE will need to solve Aw=z for
                                                -1           
 w, and correspondingly for (4) we can choose C=A  B and solve 
 Aw=Bz for w.
 
 A table of examples of choice of IMAGE is given in Table 3.1. It 
 should be remembered that the routine also returns the 
 corresponding eigenvectors and that B is positive-definite. 
 Throughout A is assumed to be symmetric and, where necessary, 
 non-singularity is also assumed.
 
 Eigenvalues             Problem
 Required               
 
             Ax=(lambda)x     (B=I)Ax=(lambda)Bx ABx=(lambda)x
 
 Largest     Compute          Solve              Compute
             w=Az             Bw=Az              w=ABz
 
 Smallest    Solve            Solve              Solve
 (Find       Aw=z             Aw=Bz              Av=z,  Bw=(nu)
 1/(lambda))                             
 
 Furthest    Compute          Solve              Compute
 from        w=(A-(sigma)I)z  Bw=(A-(sigma)B)z   w=(AB-(sigma)I)z
 (sigma)     
 (Find                              
 (lambda)-                          
 (sigma))                                                              
 
 Closest to Solve             Solve              Solve
 (sigma)    (A-(sigma)I)w=z   (A-(sigma)B)w=Bz   (AB-(sigma)I)w=z
 (Find 1/(( 
 lambda)-                           
 (sigma)))                           
                                  
 
                            Table 3.1                           
          The Requirement of IMAGE for Various Problems         
 
 The matrix B also need not be supplied explicitly, but is 
 specified via a user-supplied routine DOT which, given n element 
                                                        T  
 vectors z and w, computes the generalized dot product w Bz.
 
 The routine performs simultaneous iteration on k>m vectors. 
 Initial estimates to p<=k eigenvectors, corresponding to the p 
 eigenvalues of C of largest absolute value, may be supplied by 
 the user to F02FJF. When possible k should be chosen so that the 
 kth eigenvalue is not too close to the m required eigenvalues, 
 but if k is initially chosen too small then F02FJF may be re-
 entered, supplying approximations to the k eigenvectors found so 
 far and with k then increased.
 

Parameters

f02fjf

Required Input Arguments:

m                                     integer
dot                                   function (User-Supplied)
image                                 function (User-Supplied)
monit                                 function (User-Supplied)
novecs                                integer
x (:,:)                               real

Optional Input Arguments:                       <Default>

tol                                   real     eps
noits                                 integer  100
ifail                                 integer  -1

Output Arguments:

m                                     integer
x (:,:)                               real
d (:)                                 real
noits                                 integer
ifail                                 integer